//
//  NSDate+Formater.h
//  VoiceMemo
//
//  Created by aojun on 15/12/30.
//  Copyright © 2015年 aojun. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSDate (Formater)
/**
 *  获取时间戳
 *
 *  @return 当前时间的时间戳
 */
+ (NSString *)UNIXDate;
/**
 *  整型的时间戳
 *
 *  @return 时间戳
 */
+ (UInt32)IntUINXDate;
/**
 *  获取当前时间的指定格式
 *
 *  @param format 格式
 *
 *  @return 当前时间对应的格式
 */
+ (NSString *)getCurrentTimeWithFormat:(NSString *)format;

/**
 *  @brief  获取日期（如：2015-07-15）
 *
 *  @param interval 与当前时间相隔的天数
 *  @param format 时间格式
 *
 *  @return 结果字符串
 */
+ (NSString *)getDateInterval:(int)interval Format:(NSString *)format;

/**
 *  把时间戳转换成通用时间
 *
 *  @param utime         时间戳
 *  @param format       时间格式@"YYYY-MM-dd HH:mm:ss"
 *
 *  @return 时间字符串
 */
+ (NSString *)formattedTimeWithUtime:(NSString *)utime Format:(NSString *)format;

/**
 *  计算两个时间戳之间的时间差
 *
 *  @param utime1 1
 *  @param utime2 2
 *
 *  @return 返回相差的小时数
 */
+ (int)differTwoTime:(NSString *)utime1 Time2:(NSString *)utime2;

/**
 *  指定日期是否是今天
 *
 *  @param utime 要比较的时间
 *
 *  @return 是不是今天
 */
+ (BOOL)timeIstoday:(NSString *)utime;

/**
 *  获取从一个日期后interval天后的日期
 *
 *  @param baseDate 日期基数（即从哪天开始算）
 *  @param interval 多少天后
 *  @param format   想要的时间格式(如：yyyyMMdd 年月日 20160104)
 *
 *  @return 得到的时间
 */
+ (NSString *)getBaseDate:(NSDate *)baseDate Interval:(int)interval Format:(NSString *)format;

/**
 *  获取周几
 *
 *  @param interval 与当前时间的差值
 *  @param format   时间格式
 *
 *  @return 周几和时间@[2,20160105]
 */
+ (NSArray *)getWeekInterval:(int)interval Format:(NSString *)format;

/**
 *  获取指定时间是周几
 *
 *  @param string 传入的hi时间字符串
 *  @param format 时间字符串的格式
 *
 *  @return 返回周几
 */
+ (NSString *)getWeekWithTimeString:(NSString *)string Format:(NSString *)format;

/**
 *  获取Unix对应的时间
 *
 *  @param udate      Unix 时间
 *  @param format     返回的时间格式
 *
 *  @return 结果
 */
+ (NSString *)getDateWithUnixDate:(NSString *)udate Formatter:(NSString *)format;

/**
 *  获取时间的指定格式
 *
 *  @param date       时间字符串
 *  @param dateFormat 时间的格式
 *  @param format     要获取的格式
 *
 *  @return 返回结果字符串
 */
+ (NSString *)getFormatterDateWithDate:(NSString *)date
                         DateFormatter:(NSString *)dateFormat
                             Formatter:(NSString *)format;
/**
 *  将时间转换成自定的时间
 *
 *  @param date       时间字符串
 *  @param dateFormat 时间格式
 *
 *  @return 结果时间
 */
+ (NSDate *)getDateWithDate:(NSString *)date
              DateFormatter:(NSString *)dateFormat;


/**
 *  将时间转换成多少天小时前
 *
 *  @param timeString       时间戳
 *
 *  @return 多少天小时前
 */
+ (NSString *)timeWithTimeIntervalString:(NSString *)timeString;


+ (NSString *)timeCutDownIntervalString:(NSString *)timeString;

+ (NSString *)timeWithTimeStampString:(NSString *)timeString;

+ (NSString *)timeWihYYMMDDString:(NSString *)timeString;

@end
